/**
 * Project Name:youba
 * Package Name:com.inoneone.youba.mcht.dto.req
 * Date:2017/6/21下午2:20
 * Copyright (c) 2017, www.zbj.com All Rights Reserved
 */
package com.inoneone.youba.mcht.dto.rsp;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.inoneone.youba.mcht.util.CustomDecimalSerialize;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Description: (描述) </br>
 * Date: 2017/6/21下午2:20 </br>
 *
 * @author 姬远玄
 * @since JDK 1.7
 */
public class FuelOrderRsp {

    /**
     * 订单号 TODO jackson转long精度丢失
     */
    @JsonSerialize(using= ToStringSerializer.class)
    private Long orderId;

    /**
     * ic卡用户姓名
     */
    private String cardName;

    /**
     * ic卡号
     */
    private String cardId;

    /**
     * 充值模式
     * @see com.inoneone.toolkit.enums.ChargeModel
     */
    private Integer chargeModel;

    /**
     * 商户编号
     */
    private String mchId;

    /**
     * 商户名
     */
    private String mchName;

    /**
     * 状态
     * @see com.inoneone.toolkit.enums.OrderStatus
     */
    private Integer status;

    /**
     * 消费金额
     */
    @JsonSerialize(using = CustomDecimalSerialize.class)
    private BigDecimal amount;

    /**
     * 加油量
     */
    @JsonSerialize(using = CustomDecimalSerialize.class)
    private BigDecimal fuelCharge;

    /**
     * 单价
     */
    @JsonSerialize(using = CustomDecimalSerialize.class)
    private BigDecimal price;

    /**
     * 加油机编号
     */
    private String tankerId;

    /**
     * 加油机名称
     */
    private String tankerName;

    /**
     * 订单时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 订单结束时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 油种
     */
    private String oilType;

    /**
     * 油型号
     */
    private String modelType;

    public String getOilType() {
        return oilType;
    }

    public void setOilType(String oilType) {
        this.oilType = oilType;
    }

    public String getModelType() {
        return modelType;
    }

    public void setModelType(String modelType) {
        this.modelType = modelType;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getCardName() {
        return cardName;
    }

    public void setCardName(String cardName) {
        this.cardName = cardName;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public Integer getChargeModel() {
        return chargeModel;
    }

    public void setChargeModel(Integer chargeModel) {
        this.chargeModel = chargeModel;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public String getMchName() {
        return mchName;
    }

    public void setMchName(String mchName) {
        this.mchName = mchName;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getFuelCharge() {
        return fuelCharge;
    }

    public void setFuelCharge(BigDecimal fuelCharge) {
        this.fuelCharge = fuelCharge;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getTankerId() {
        return tankerId;
    }

    public void setTankerId(String tankerId) {
        this.tankerId = tankerId;
    }

    public String getTankerName() {
        return tankerName;
    }

    public void setTankerName(String tankerName) {
        this.tankerName = tankerName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
}
